package com.deer.wms.base.system.service.task;

import com.deer.wms.base.system.model.task.PickTask;
import com.deer.wms.base.system.model.task.PickTaskCriteria;
import com.deer.wms.base.system.model.task.PickTaskDto;
import com.deer.wms.common.core.service.Service;

import java.util.List;


/**
 * Created by guo on 2019/07/23.
 */
public interface PickTaskService extends Service<PickTask, Integer> {

    PickTask getPickTaskByMaterialId(String materialId);
    /**
     * 根据boxItemId查询PickTask详细信息， 便于修改托盘中的数量信息等等
     *
     * @param boxItemId
     * @return
     */
    public PickTask getPickTaskByBoxItemId(Long boxItemId);

    /**
     * 根据条件查询要出库的东西
     */
    List<PickTaskDto> findList(PickTaskCriteria criteria);
    List<PickTaskDto> findListbyid(PickTaskCriteria criteria);

    List<PickTaskDto> findByState(PickTaskCriteria criteria);

    /**
     * 批量删除
     * @param pickTaskIds
     * @return
     */
    int delectPickTaskBypickTaskIds( String pickTaskIds);

    /**
     *根据ID查询
     * @param pickTaskId
     * @return
     */
    PickTaskDto findPickTaskDtoferId(Integer pickTaskId);

    /**
     * 修改
     * @param PickTaskDto
     * @return
     */
    int updatePickTask(PickTaskDto PickTaskDto);

    /**
     * 新增
     * @param PickTaskDto
     * @return
     */
    int savePickTask(PickTaskDto PickTaskDto);

    /**
     *
     * 查询出库记录
     *
     * @return
     */
    public List<PickTask> selectPickTaskList(PickTask PickTask);

    List<PickTaskDto> findBoxList(PickTaskCriteria criteria);
}
